home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
libelfutil
/
xlate_pro_add_reg_info.z
/
xlate_pro_add_reg_info
Wrap
Text File
|
1998-10-30
|
11KB
|
198 lines
XXXXLLLLAAAATTTTEEEE____PPPPRRRROOOO____AAAADDDDDDDD____RRRREEEEGGGG____IIIINNNNFFFFOOOO((((3333EEEE)))) XXXXLLLLAAAATTTTEEEE____PPPPRRRROOOO____AAAADDDDDDDD____RRRREEEEGGGG____IIIINNNNFFFFOOOO((((3333EEEE))))
NNNNAAAAMMMMEEEE
_xxxx_llll_aaaa_tttt_eeee______pppp_rrrr_oooo______aaaa_dddd_dddd______rrrr_eeee_gggg______iiii_nnnn_ffff_oooo - add register change information
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_eeee_llll_ffff_...._hhhh_>>>>
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_llll_iiii_bbbb_eeee_llll_ffff_...._hhhh_>>>>
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_dddd_wwww_aaaa_rrrr_ffff_...._hhhh_>>>>
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_llll_iiii_bbbb_dddd_wwww_aaaa_rrrr_ffff_...._hhhh_>>>>
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_cccc_mmmm_pppp_llll_rrrr_ssss_////_xxxx_llll_aaaa_tttt_eeee_...._hhhh_>>>>
_####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_llll_iiii_bbbb_XXXX_llll_aaaa_tttt_eeee_...._hhhh_>>>>
_iiii_nnnn_tttt _xxxx_llll_aaaa_tttt_eeee______pppp_rrrr_oooo______aaaa_dddd_dddd______rrrr_eeee_gggg______iiii_nnnn_ffff_oooo_((((_xxxx_llll_aaaa_tttt_eeee______tttt_aaaa_bbbb_llll_eeee______pppp_rrrr_oooo _pppp_rrrr_oooo______tttt_aaaa_bbbb_llll_eeee______pppp_tttt_rrrr_,,,,
_DDDD_wwww_aaaa_rrrr_ffff______SSSS_mmmm_aaaa_llll_llll _oooo_pppp_,,,,
_DDDD_wwww_aaaa_rrrr_ffff______UUUU_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _vvvv_aaaa_llll_1111_,,,,
_DDDD_wwww_aaaa_rrrr_ffff______UUUU_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _vvvv_aaaa_llll_2222
_))))_;;;;
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
_x_l_a_t_e__p_r_o__a_d_d__r_e_g__i_n_f_o is used to put register information into the xlate
data stream. The register information normally specifies how a debugger
or other tool can get to registers which have been copied into shadow
register locations so a transforming tool (_p_i_x_i_e(1) normally) can use the
registers for its own purposes. _p_r_o__t_a_b_l_e__p_t_r must be a valid open
producer translate table handle.
_o_p Pass in an frame operation code in the set allowed. An example
is _D_W__C_F_A__o_f_f_s_e_t__e_x_t_e_n_d_e_d. Makes no difference if the op is an
extended op code or not (see section 6.4 of the DWARF document).
The arguments _v_a_l_1 and _v_a_l_2 are the "arguments" as described by
section 6.4.2 of the DWARF document.
_v_a_l_1 Is a value whose meaning depends on _o_p . (see section 6.4 of the
DWARF document).
_v_a_l_2 Is a value whose meaning depends on _o_p . (see section 6.4 of the
DWARF document).
A typical use for _p_i_x_i_e would be to first set the CFA using
_D_W__C_F_A__o_f_f_s_e_t__e_x_t_e_n_d_e_d and naming the register or location to use as a
base address and then set up a rule for each particular register using,
for example, _D_W__C_F_A__o_f_f_s_e_t or_D_W__C_F_A__o_f_f_s_e_t__e_x_t_e_n_d_e_d and giving the
particular offset of the shadow register value.
An example follows:
PPPPaaaaggggeeee 1111
XXXXLLLLAAAATTTTEEEE____PPPPRRRROOOO____AAAADDDDDDDD____RRRREEEEGGGG____IIIINNNNFFFFOOOO((((3333EEEE)))) XXXXLLLLAAAATTTTEEEE____PPPPRRRROOOO____AAAADDDDDDDD____RRRREEEEGGGG____IIIINNNNFFFFOOOO((((3333EEEE))))
_rrrr_eeee_ssss_uuuu_llll_tttt _==== _xxxx_llll_aaaa_tttt_eeee______pppp_rrrr_oooo______aaaa_dddd_dddd______rrrr_eeee_gggg______iiii_nnnn_ffff_oooo_((((_pppp_rrrr_oooo______tttt_aaaa_bbbb_llll_eeee______pppp_tttt_rrrr_,,,,
_DDDD_WWWW______CCCC_FFFF_AAAA______dddd_eeee_ffff______cccc_ffff_aaaa_,,,,
_DDDD_WWWW______FFFF_RRRR_AAAA_MMMM_EEEE______RRRR_EEEE_GGGG_8888_,,,, _////_**** _rrrr_8888 _iiii_ssss _oooo_uuuu_rrrr _bbbb_aaaa_ssss_eeee _rrrr_eeee_gggg _****_////
_0000_))))_;;;;
_rrrr_eeee_ssss_uuuu_llll_tttt _==== _xxxx_llll_aaaa_tttt_eeee______pppp_rrrr_oooo______aaaa_dddd_dddd______rrrr_eeee_gggg______iiii_nnnn_ffff_oooo_((((_pppp_rrrr_oooo______tttt_aaaa_bbbb_llll_eeee______pppp_tttt_rrrr_,,,,
_DDDD_WWWW______CCCC_FFFF_AAAA______oooo_ffff_ffff_ssss_eeee_tttt______eeee_xxxx_tttt_eeee_nnnn_dddd_eeee_dddd_,,,,
_DDDD_WWWW______FFFF_RRRR_AAAA_MMMM_EEEE______RRRR_EEEE_GGGG_3333_1111_,,,, _////_**** _rrrr_3333_1111 _uuuu_ssss_uuuu_rrrr_pppp_eeee_dddd _bbbb_yyyy _pppp_iiii_xxxx_iiii_eeee _****_////
_rrrr_3333_1111______oooo_ffff_ffff_ssss_eeee_tttt_))))_;;;;
_rrrr_eeee_ssss_uuuu_llll_tttt _==== _xxxx_llll_aaaa_tttt_eeee______pppp_rrrr_oooo______aaaa_dddd_dddd______rrrr_eeee_gggg______iiii_nnnn_ffff_oooo_((((_pppp_rrrr_oooo______tttt_aaaa_bbbb_llll_eeee______pppp_tttt_rrrr_,,,,
_DDDD_WWWW______CCCC_FFFF_AAAA______oooo_ffff_ffff_ssss_eeee_tttt______eeee_xxxx_tttt_eeee_nnnn_dddd_eeee_dddd_,,,,
_DDDD_WWWW______FFFF_RRRR_AAAA_MMMM_EEEE______RRRR_EEEE_GGGG_1111_7777_,,,, _////_**** _rrrr_1111_7777 _uuuu_ssss_uuuu_rrrr_pppp_eeee_dddd _bbbb_yyyy _pppp_iiii_xxxx_iiii_eeee _****_////
_rrrr_1111_7777______oooo_ffff_ffff_ssss_eeee_tttt_))))_;;;;
FFFFIIIILLLLEEEESSSS
/usr/include/libXlate.h
/usr/include/cmplrs/xlate.h
/usr/include/elf.h
/usr/include/dwarf.h
/usr/include/libdwarf.h
/usr/lib/libelfutil.a
DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
Returns XLATE_TB_STATUS_NO_ERROR (0) on success. In case of error, a
negative number is returned indicating the error. In case of error,
nothing is returned thru the pointer arguments which would return values
on successful call (values might have been changed thru these pointers
but any such changes are not meaningful).
Error codes that may be returned:
_X_L_A_T_E__T_B__S_T_A_T_U_S__I_N_V_A_L_I_D__T_A_B_L_E
means that the _p_r_o__t_a_b_l_e__p_t_r is not a valid open producer handle.
Or it might mean there has been some malloc arena corruption or
other application bug leading to overwriting of the first 4 bytes
of the data pointed at by _p_r_o__t_a_b_l_e__p_t_r.
_X_L_A_T_E__T_B__S_T_A_T_U_S__A_D_D__T_O_O__L_A_T_E
means that the call has occurred after a call to
_x_l_a_t_e__p_r_o__d_i_s_k__h_e_a_d_e_r which is not allowed. call
_x_l_a_t_e__p_r_o__a_d_d__r_e_g__i_n_f_o before calling _x_l_a_t_e__p_r_o__d_i_s_k__h_e_a_d_e_r.
_X_L_A_T_E__T_B__S_T_A_T_U_S__B_A_D__R_E_G__V_A_L
means that the register number passed in will not fit using the
particular _o_p used in the call.
_X_L_A_T_E__T_B__S_T_A_T_U_S__A_L_L_O_C__F_A_I_L
means _r_e_a_l_l_o_c(3) failed when adding the requested register
operation.
_X_L_A_T_E__T_B__S_T_A_T_U_S__B_A_D__R_E_G__O_P
means the _o_p passed in is not one of the set of frame operations
supported by _x_l_a_t_e__p_r_o__a_d_d__r_e_g__i_n_f_o.
PPPPaaaaggggeeee 2222
XXXXLLLLAAAATTTTEEEE____PPPPRRRROOOO____AAAADDDDDDDD____RRRREEEEGGGG____IIIINNNNFFFFOOOO((((3333EEEE)))) XXXXLLLLAAAATTTTEEEE____PPPPRRRROOOO____AAAADDDDDDDD____RRRREEEEGGGG____IIIINNNNFFFFOOOO((((3333EEEE))))
SSSSEEEEEEEE AAAALLLLSSSSOOOO
libelfutil(5), xlate(4), xlate_pro_init(3e), xlate_pro_finish(3e) DWARF
Debugging Information Format (Version 2)
PPPPaaaaggggeeee 3333